package com.ktgj.customer.domain;

import java.io.Serializable;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ktgj.common.core.annotation.Excel;
import com.ktgj.common.core.web.domain.BaseEntity;

/**
 * 商城商品使用积分规则对象 mall_product_useintegralrule_link
 * 
 * @author ruoyi
 * @date 2022-05-30
 */
public class MallProductUseintegralruleLink implements Serializable
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long linkId;

    /** 规则编号：通用规则 积分抵扣值 */
    @Excel(name = "规则编号：通用规则 积分抵扣值")
    private Long uirId;

    /** 积分使用规则：1：积分没有使用上限；2：积分使用比例；3：不允许使用积分； 4：积分上限 */
    @Excel(name = "积分使用规则： 1：积分没有使用上限； 2：积分使用比例； 3：不允许使用积分； 4：积分上限")
    private Long uirUseType;

    /** 抵扣规则：多少积分抵一元 */
    @Excel(name = "抵扣规则：多少积分抵一元")
    private Long uirPoints;

    /** 积分抵扣百分比，当 uir_type =2 时 ，该值为 >0 */
    @Excel(name = "积分抵扣百分比，当 uir_type =2 时 ，该值为 >0")
    private Long uirPointsDiscount;

    /** 产品编号 */
    @Excel(name = "产品编号")
    private Long productId;

    /** $column.columnComment */
    @Excel(name = "产品编号")
    private Long productSpecId;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;

    /** 删除时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "删除时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date deleteTime;

    public void setLinkId(Long linkId) 
    {
        this.linkId = linkId;
    }

    public Long getLinkId() 
    {
        return linkId;
    }
    public void setUirId(Long uirId) 
    {
        this.uirId = uirId;
    }

    public Long getUirId() 
    {
        return uirId;
    }
    public void setUirUseType(Long uirUseType) 
    {
        this.uirUseType = uirUseType;
    }

    public Long getUirUseType() 
    {
        return uirUseType;
    }
    public void setUirPoints(Long uirPoints) 
    {
        this.uirPoints = uirPoints;
    }

    public Long getUirPoints() 
    {
        return uirPoints;
    }
    public void setUirPointsDiscount(Long uirPointsDiscount) 
    {
        this.uirPointsDiscount = uirPointsDiscount;
    }

    public Long getUirPointsDiscount() 
    {
        return uirPointsDiscount;
    }
    public void setProductId(Long productId) 
    {
        this.productId = productId;
    }

    public Long getProductId() 
    {
        return productId;
    }
    public void setProductSpecId(Long productSpecId) 
    {
        this.productSpecId = productSpecId;
    }

    public Long getProductSpecId() 
    {
        return productSpecId;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public void setDeleteTime(Date deleteTime)
    {
        this.deleteTime = deleteTime;
    }

    public Date getDeleteTime() 
    {
        return deleteTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("linkId", getLinkId())
            .append("uirId", getUirId())
            .append("uirUseType", getUirUseType())
            .append("uirPoints", getUirPoints())
            .append("uirPointsDiscount", getUirPointsDiscount())
            .append("productId", getProductId())
            .append("productSpecId", getProductSpecId())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("deleteTime", getDeleteTime())
            .toString();
    }
}
